package com.piggy.logi.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.piggy.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 承运商信息视图对象 logi_carrier
 *
 * @author idea
 * @date 2023-08-12
 */
@Data
@Accessors(chain = true)
@ApiModel("承运商信息视图对象")
public class LogiCarrierVo {

	private static final long serialVersionUID = 1L;

	/** 承运商Id */
	@Excel(name = "承运商Id")
	@ApiModelProperty("承运商Id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long carrierId;

	/** 承运商名称 */
	@Excel(name = "承运商名称")
	@ApiModelProperty("承运商名称")
	private String carrierName;

	/** 承运商类型 */
	@Excel(name = "承运商类型")
	@ApiModelProperty("承运商类型")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Integer carrierType;

	/** 工商注册号 */
	@Excel(name = "工商注册号")
	@ApiModelProperty("工商注册号")
	private String registeredNo;

	/** 法人姓名 */
	@Excel(name = "法人姓名")
	@ApiModelProperty("法人姓名")
	private String legalPersonName;

	/** 法人身份证 */
	@Excel(name = "法人身份证")
	@ApiModelProperty("法人身份证")
	private String legalPersonIdCard;

	/** 办公电话 */
	@Excel(name = "办公电话")
	@ApiModelProperty("办公电话")
	private String officePhone;

	/** 成立时间 */
	@Excel(name = "成立时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("成立时间")
	private Date establishTime;

	/** 注册资本 */
	@Excel(name = "注册资本")
	@ApiModelProperty("注册资本")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private BigDecimal registeredCapital;

	/** 经营地址 */
	@Excel(name = "经营地址区县Id")
	@ApiModelProperty("经营地址区县Id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Integer businessDistrictId;

	/** 经营地址区县 */
	@Excel(name = "经营地址区县")
	@ApiModelProperty("经营地址区县")
	private String businessDistrictName;

	/** 经营地址详细 */
	@Excel(name = "经营地址详细")
	@ApiModelProperty("经营地址详细")
	private String businessAddress;

	@Excel(name = "经营地址经度")
	/** 经营地址经度 */
	@ApiModelProperty("经营地址经度")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Float businessLng;

	@Excel(name = "经营地址纬度")
	/** 经营地址纬度 */
	@ApiModelProperty("经营地址纬度")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Float businessLat;

	/** 联系人 */
	@Excel(name = "联系人")
	@ApiModelProperty("联系人")
	private String contactPerson;

	/** 职务 */
	@Excel(name = "职务")
	@ApiModelProperty("职务")
	private String contactPosition;

	/** 电子邮箱 */
	@Excel(name = "电子邮箱")
	@ApiModelProperty("电子邮箱")
	private String email;

	/** 电话 */
	@Excel(name = "电话")
	@ApiModelProperty("电话")
	private String phone;

	/** 所在地址区县Id */
	@Excel(name = "所在地址区县Id")
	@ApiModelProperty("所在地址区县Id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Integer locationDistrictId;

	/** 所在地址区县Id */
	@Excel(name = "所在地址区县Id")
	@ApiModelProperty("所在地址区县Id")
	private String locationDistrictName;

	/** 所在地址详细 */
	@Excel(name = "所在地址详细")
	@ApiModelProperty("所在地址详细")
	private String locationAddress;

	/** 所在地址经度 */
	@Excel(name = "所在地址经度")
	@ApiModelProperty("所在地址经度")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Float locationLng;

	/** 所在地址纬度 */
	@Excel(name = "所在地址纬度")
	@ApiModelProperty("所在地址纬度")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Float locationLat;

	/** 自有车辆 */
	@Excel(name = "自有车辆")
	@ApiModelProperty("自有车辆")
	private String ownVehicle;

	/** 外部车辆 */
	@Excel(name = "外部车辆")
	@ApiModelProperty("外部车辆")
	private String externalVehicle;

	/** 工牌附件 */
	@Excel(name = "工牌附件")
	@ApiModelProperty("工牌附件")
	private String workCardAttachment;

	/** 身份证正面附件 */
	@Excel(name = "身份证正面附件")
	@ApiModelProperty("身份证正面附件")
	private String idCardFrontAttachment;

	/** 身份证反面附件 */
	@Excel(name = "身份证反面附件")
	@ApiModelProperty("身份证反面附件")
	private String idCardBackAttachment;

	/** 营业执照附件 */
	@Excel(name = "营业执照附件")
	@ApiModelProperty("营业执照附件")
	private String businessLicenseAttachment;

	/** 其他附件 */
	@Excel(name = "其他附件")
	@ApiModelProperty("其他附件")
	private String otherAttachment;

	/** 备注 */
	@Excel(name = "备注")
	@ApiModelProperty("备注")
	private String remark;

	@Excel(name = "创建时间")
	@ApiModelProperty("创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	@Excel(name = "创建人")
	@ApiModelProperty("创建人")
	private String createBy;

	@Excel(name = "更新时间")
	@ApiModelProperty("更新时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	@Excel(name = "更新人")
	@ApiModelProperty("更新人")
	private String updateBy;
}
